package BasicEngine
{
	import flash.utils.getTimer;
	
	public class ClockUnit
	{
		//定义一个基值,这样后面的数都可以基于一个相对的关系
		public static const   Dida:int = 2;
		
		//游戏是否在运行
		public var Runing:Boolean;
		
		//当前帧数
		public var FrameCount:int;
		
		//时间最小单位
		private var tick:Number 
		public function get Tick():Number {
			if (tick > 33)
			{
				return 33;
			}
			else
			{
				return tick;
			}
		}
		
		
		//循环启动后时间总和
		public var SystemTime:int;
		
		//游戏开始至此运行了多长时间,这是一个系统时间
		private var thisTime:int;
		//上一次结束时间
		private var lastTime:int;				
		
		public function get ThisTime():int
		{
			thisTime = getTimer();
			return thisTime;
		}
		
		public function ClockUnit()
		{
			Reset();
		}
		
		//更新时钟，这是一个很重要的方法
		public function Update():void
		{
			lastTime = thisTime;
			FrameCount ++;
			thisTime = getTimer();
			tick = thisTime - lastTime;
			SystemTime += tick;			
		}
		
		//重置游戏
		public function Reset():void
		{
			Runing = true;
			thisTime = getTimer();
			FrameCount = 0;
			tick = 0;
			SystemTime = 0;
		}
	}
}